home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_up3.lha / src_upd3.lha / source / oc / OCPrefsStrings.mod < prev    next >
Encoding:
Text File  |  1995-03-13  |  3.6 KB  |  116 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OCPrefsStrings;
  4. (****************************************************************
  5.  
  6.    This file was created automatically by `FlexCat 1.5'
  7.    Do NOT edit by hand!
  8.    Oberon-A source description C 1994 by Albert Weinert
  9.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  10.    Modified for Oberon-A 1.5 by Frank Copeland
  11.  
  12.    Application: OCPrefsStrings
  13.    Language   : "english"
  14.    Version    : 1
  15.    Description: OBERON-A:Catalogs/OCPrefsStrings.cd
  16.  
  17. ****************************************************************)
  18.  
  19. IMPORT
  20.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  21.  
  22. CONST
  23.   builtinlanguage = "english";
  24.   version = 1;
  25.  
  26. CONST
  27.   msg5* = 0;
  28.   msg6* = 1;
  29.   msg7* = 2;
  30.   msg8* = 3;
  31.   msg9* = 4;
  32.   msg10* = 5;
  33.   msg11* = 6;
  34.   msg12* = 7;
  35.   msg13* = 8;
  36.   msg14* = 9;
  37.   msg15* = 10;
  38.   msg16* = 11;
  39.   msg17* = 12;
  40.  
  41. TYPE
  42.   AppString = RECORD;
  43.      id  : LONGINT;
  44.      str : e.LSTRPTR;
  45.   END;
  46.   AppStringArray = ARRAY 13 OF AppString;
  47.  
  48. VAR
  49.   AppStrings : AppStringArray;
  50.   catalog : lo.CatalogPtr;
  51.  
  52.   PROCEDURE SetStrings;
  53.     BEGIN
  54.       AppStrings[0].id := msg5; AppStrings[0].str := y.ADR( " !! Arguments VERBOSE and QUIET are mutually exclusive\n" );
  55.       AppStrings[1].id := msg6; AppStrings[1].str := y.ADR( " !! Arguments DEBUG and NODEBUG are mutually exclusive\n" );
  56.       AppStrings[2].id := msg7; AppStrings[2].str := y.ADR( " !! Arguments MAKEICONS and NOICONS are mutually exclusive\n" );
  57.       AppStrings[3].id := msg8; AppStrings[3].str := y.ADR( "Preferences file: " );
  58.       AppStrings[4].id := msg9; AppStrings[4].str := y.ADR( "Search paths ...:" );
  59.       AppStrings[5].id := msg10; AppStrings[5].str := y.ADR( " None" );
  60.       AppStrings[6].id := msg11; AppStrings[6].str := y.ADR( " !! Settings saved to '%s'\n" );
  61.       AppStrings[7].id := msg12; AppStrings[7].str := y.ADR( " !! Could not create '%s'\n" );
  62.       AppStrings[8].id := msg13; AppStrings[8].str := y.ADR( "See OCPrefs.doc for conditions of use\n" );
  63.       AppStrings[9].id := msg14; AppStrings[9].str := y.ADR( " !! Too many arguments: select only one prefs file\n" );
  64.       AppStrings[10].id := msg15; AppStrings[10].str := y.ADR( " !! Out of memory\n" );
  65.       AppStrings[11].id := msg16; AppStrings[11].str := y.ADR( " !! Could not create icon for '%s'\n" );
  66.       AppStrings[12].id := msg17; AppStrings[12].str := y.ADR( " !! Could not obtain icon\n" );
  67.     END SetStrings;
  68.  
  69.   PROCEDURE CloseCatalog*();
  70.     BEGIN
  71.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  72.    END CloseCatalog;
  73.  
  74.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  75.     VAR Tag : ARRAY 4 OF u.TagItem;
  76.     BEGIN
  77.       CloseCatalog();
  78.       IF (catalog = NIL) & (lo.base # NIL) THEN
  79.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  80.         Tag[1].tag := u.ignore;           Tag[1].data := y.ADR( language );
  81.         Tag[2].tag := lo.version;         Tag[2].data := version;
  82.         Tag[3].tag := u.done;
  83.  
  84.         IF language # "" THEN
  85.           Tag[1].tag:= lo.language;
  86.         END;
  87.         catalog := lo.OpenCatalogA (loc, "OCPrefsStrings.catalog", Tag);
  88.       END;
  89.     END OpenCatalog;
  90.  
  91.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  92.     VAR
  93.       i: LONGINT;
  94.       default: e.LSTRPTR;
  95.     BEGIN
  96.       i := 0; WHILE (i < 13) & (AppStrings[i].id # num) DO INC (i) END;
  97.  
  98.       IF i # 13 THEN
  99.         default := AppStrings[i].str;
  100.       ELSE
  101.         default := NIL;
  102.       END;
  103.  
  104.       IF catalog # NIL THEN
  105.         RETURN lo.GetCatalogStr (catalog, num, default^);
  106.       ELSE
  107.         RETURN default;
  108.       END;
  109.     END GetString;
  110.  
  111. BEGIN
  112.   catalog := NIL;
  113.   SetStrings;
  114. END OCPrefsStrings.
  115.  
  116.